

package ejemplotiendaweb.controlador;

import entidades.Familia;
import ejb.datos.FamiliaFacadeRemote;
import ejemplotiendawebswing.Familias;
import java.util.List;
import javax.swing.table.DefaultTableModel;


public class ControladorFamilia extends ControladorGui<Familias> {

   private FamiliaFacadeRemote modelo;
    private List<Familia> variable_Familias;

    
    public ControladorFamilia(Familias gui,FamiliaFacadeRemote facade, List<Familia> fam) {
     super(gui);
     this.modelo=facade;
     this.variable_Familias = fam;

    }
    public ControladorFamilia(Familias gui, FamiliaFacadeRemote facade) {
     super(gui);
     this.modelo=facade;
    }



    public void Alta(String nombre, String abreviatura) {

        if (!validarCadenaVacia(nombre)) {
            mensajeError("Por favor,escriba un Nombre");
            return;
        }

        if (!validarCadenaVacia(abreviatura)) {
            mensajeError("Por favor, escriba una Sigla");
            return;
        }

        Familia flia = new Familia(nombre, abreviatura);

        modelo.crear(flia);

        llenarTabla();
        limpiarCampos();
    }

    public void eliminar(int fila) {

        if (fila == -1) {
            mensajeError("Por favor, seleccione una fila en la tabla");
            return;
        }

        modelo.eliminar(variable_Familias.get(fila));
        llenarTabla();
    }

    private void llenarTabla() {
        DefaultTableModel modeloTabla = gui.getModeloTabla();
        variable_Familias = modelo.buscarTodos();

        modeloTabla.setRowCount(0);
        for (Familia familia : variable_Familias) {
            Object[] datos = {familia.getNombre(), familia.getAbreviatura()};
            modeloTabla.addRow(datos);
        }
    }

   private void limpiarCampos() {
        gui.CamposLimpios();
    }

    @Override
    public void inicializar() {
        llenarTabla();
    }

   
}
